//Copyright (c) Microsoft Corporation.  All rights reserved.

using System;
using System.Collections.Generic;
using System.Text;

namespace Eas.WebCrawler.Interfaces {
    /// <summary>Wraps a <see cref="System.Net.WebResponse"/> returned from a request to a <see cref="Uri"/>.</summary>
    public interface WebResponseInterface {
        /// <summary>Closes the response and related resources.</summary>
        void Close();
        /// <summary>Get's the stream of contents for this response.</summary>
        /// <returns>The stream of contents for this response.</returns>
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
        System.IO.Stream GetResponseStream();
        /// <summary>The content type reported in the header of this response.</summary>
        string ContentType {
            get;
        }

        /// <summary>The http headers for this response.</summary>
        System.Net.WebHeaderCollection Headers {
            get;
        }

        /// <summary>The underlying <see cref="System.Net.WebResponse"/> which this interface wraps.</summary>
        System.Net.WebResponse WebResponse { get;}
    }
}
